1 module ut.message; 2 3 import unit_threaded; 4 import jupyter.wire.message; 5 6 7 @("deserialise.nullfields") 8 unittest { 9 auto message = Message( 10 [ 11 "<IDS|MSG>", 12 "f3ceaa87a37567bf6e6431c75460596f2e8bd609960ccffc1224cc1105debe09", 13 `{"msg_id":"7e65fba6-d785-4a0c-95ee-6be99ba8ed17","msg_type":"dummy-type","session":null,"date":"2020-11-15T15:06:37","version":null}`, 14 `{}`, 15 "{}", 16 "{}", 17 ] 18 ); 19 } 20 21 22 @("serialise.nonullfields") 23 @safe unittest { 24 const message = Message( 25 [ 26 "<IDS|MSG>", 27 "f3ceaa87a37567bf6e6431c75460596f2e8bd609960ccffc1224cc1105debe09", 28 `{"msg_id": "leid", "msg_type": "dummy-type", "date": "2020-11-15T15:06:37"}`, 29 `{"msg_id": "pid", "msg_type": "parent", "date": "2020-11-15T15:06:37"}`, 30 "{}", 31 "{}", 32 ] 33 ); 34 35 message.toStrings("key").should == [ 36 "<IDS|MSG>", 37 "d2f0f5051d79d72cbaf5c7f53aecf5436e56a8adc8f9c66452f9f299d18ddf77", 38 `{"msg_id":"leid","msg_type":"dummy-type","username":"","session":"","date":"2020-11-15T15:06:37","version":""}`, 39 `{"msg_id":"pid","msg_type":"parent","username":"","session":"","date":"2020-11-15T15:06:37","version":""}`, 40 "{}", 41 "{}", 42 ]; 43 } 44 45 46 @("copy-username") 47 @safe unittest { 48 auto message = Message(MessageHeader("id", "type", "username"), "dummy-type"); 49 message.parentHeader.userName.should == "username"; 50 message.header.userName.should == "username"; 51 } 52 53 54 @("serialization") 55 @safe unittest { 56 auto raw = Message(MessageHeader("id", "type", "username"), "dummy-type").toStrings("dummy"); 57 auto message = Message(raw); 58 message.parentHeader.userName.should == "username"; 59 message.header.userName.should == "username"; 60 }